//
//  ViewController.m
//  08-UITableView
//
//  Created by 王道林 on 16/7/25.
//  Copyright © 2016年 王道林. All rights reserved.
//

#import "ViewController.h"
#import "UIView+Frame.h"

#define kTableViewRewse @"wang"
@interface ViewController ()<UITableViewDelegate,UITableViewDataSource>

@property(nonatomic, assign) NSInteger numberCount;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.numberCount = 0;
    // Do any additional setup after loading the view, typically from a nib.
//    self.navigationController.navigationBarHidden = YES;
    self.navigationController.navigationBar.hidden = YES;
    // UITableView
    // 1  基本创建
    UITableView *tableview = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStylePlain];
    // 隐藏, 多余的tableView的空cell
    //  空的cell一般出现一个界面没有铺满的情况
 //   tableview.tableFooterView = [[UIView alloc] init];
    //  或者将tableView的风格改成 Grouped
    
    [self.view addSubview:tableview];
    // 2 tableView默认创建 lwaysBounceVertical开启...  开始就可以上下滑动
  //  tableview.alwaysBounceVertical = NO;
    
    // 2  .相关属性
    // 直接设置行高,(默认44)
//    tableview.rowHeight = 200;
    //  预估行高度
    //tableview.estimatedRowHeight = 100;
    // 分割线的颜色
    tableview.separatorColor = [UIColor redColor];
    // 分割线样式
    //设置隐藏分割线 ,  UITableViewCellSeparatorStyleNone
    tableview.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
    
    // tableView 头视图
    // headerview的x.y不影响其位子
    //  一般用来放轮播图 ,  个人资料
    UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.bounds.size.width, 200)];
    headerView.backgroundColor = [UIColor greenColor];
#if 0
    // 如果tableHeaderview 要进行修改,必须加上beginUpdates和endUpdates
    [tableview beginUpdates];
    tableview.tableHeaderView = headerView;
    [tableview endUpdates];
    
    // footerView   x会对尾视图产生坐标的影响,  y不会
    UIView *footView = [[UIView alloc] initWithFrame:CGRectMake(0,0, self.view.wdl_x, 400)];
    footView.backgroundColor = [UIColor redColor];
    [tableview beginUpdates];
    tableview.tableFooterView = footView;
    [tableview endUpdates];
#endif
    
    
    // tableView 数据显示
    // delegate 代理  帮助tableView执行一些事件
    // dataSource   数据源 ,  用来给tableView显示数据
    tableview.delegate = self;
    tableview.dataSource = self;
    [tableview registerClass:[UITableViewCell class] forCellReuseIdentifier:@"wang"];
}

// 返回数据源个数
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return 100;
}

// 返回数据源cell的样式
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewRewse];
    
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kTableViewRewse];
        _numberCount++;
        NSLog(@"创建新的cell-----%ld", _numberCount);
    } else {
        NSLog(@"重用旧cell----%@", cell);
    }
    
    // cell 创建方式三 : 通过 registerClass 方式创建
    
 //   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kTableViewRewse];
    
    // cell Style
//    UITableViewCellStyleValue1
//    UITableViewCellStyleValue2
//    UITableViewCellStyleDefault
//    UITableViewCellStyleSubtitle
    // 主标题
    cell.textLabel.text = @"嘿嘿";
    
    // cell 副标题
    cell.detailTextLabel.text = @"holy high";
    // cell 的图片
    cell.imageView.image = [UIImage imageNamed:@"6"];
    return cell;
}






- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
    return self.view.bounds.size.height / 5;
}










- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
